package cn.iocoder.yudao.module.pm.controller.admin.retentionledger.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;

@Schema(description = "管理后台 - 留样台账管理新增/修改 Request VO")
@Data
public class RetentionLedgerSaveReqVO {

    @Schema(description = "唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "7692")
    private Long id;

    @Schema(description = "留样台账编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "留样台账编号不能为空")
    private String ledgerCode;

    @Schema(description = "关联航班号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "关联航班号不能为空")
    private String flightNo;

    @Schema(description = "留样开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "留样开始时间不能为空")
    private LocalDate startDate;

    @Schema(description = "留样结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "留样结束时间不能为空")
    private LocalDate endDate;

    @Schema(description = "留样类型", example = "1")
    private String sampleType;

    @Schema(description = "存储位置")
    private String storageLocation;

    @Schema(description = "备注")
    private String remarks;

}